// 配置请求的基准URL地址
axios.defaults.baseURL = 'http://api-breakingnews-web.itheima.net'

// 设置请求拦截器，配置token认证
// use方法里面可以传递两个参数
axios.interceptors.request.use(
  (config) => {
    // 打印 config 参数
    // console.log(config)
    // 判断路径中,是否包含 /api 或者 /my
    // 或者 >=0 或者!== -1 或者>-1 都说明查到了
    if (config.url.indexOf('/my') !== -1) {
      // 这样赋值, 不会影响原来的头信息设置
      // 所以头信息的设置, 不要使用对象赋值, 要使用 .属性, 不会出现覆盖
      config.headers.Authorization = localStorage.getItem('token')
    }
    // 修改完毕的config需要返回
    return config
  },
  (err) => {
    // 将来讲解 Promise 对象 ,详细讲解
    return Promise.reject(err)
  }
)

// 设置响应拦截器 - 没有登录或者token失效, 都要前置跳转到登录页

// 添加响应拦截器
axios.interceptors.response.use(
  // 输出响应结果
  function (response) {
    if (response.data.message === '身份认证失败！') {
      // 跳转登录页面 销毁token
      location.href = '/login.html'
      localStorage.removeItem('token')
    }
    //返回response
    return response
  },
  function (error) {
    return Promise.reject(error)
  }
)
